package com.briup.sms.view;

import com.briup.sms.controller.SmsController;
import com.briup.sms.model.User;

import java.util.Scanner;

/**
 * 学生管理系统的页面视图
 */
public class SmsView {
    public static Scanner SC = new Scanner(System.in);
    public static SmsController controller = new SmsController();

    public static void run() {
        System.out.println("==========================");
        System.out.println("=====欢迎使用学生管理系统=====");
        System.out.println("==========================");
        System.out.println();
        System.out.println();
        System.out.println();
        System.out.println();
        // 登录
        User user = login();
        System.out.println();
        System.out.println();
        System.out.println();
        System.out.println();
        // 操作菜单内容
        while (true) {
            // 让用户进行输入，根据用户输入的内容选择进入到不同的操作中
            operator(user);
        }
    }

    private static void operator(User user) {
        // 根据用户的角色选择进入到哪一个界面中
        if ("admin".equals(user.getRole())) {
            adminView(user);
        } else {
            UserView(user);
        }
    }

    private static User login() {
        System.out.println("请输入用户名及密码进行登录：");
        System.out.print("用户名：");
        String username = SC.nextLine();
        System.out.print("密码：");
        String password = SC.nextLine();
        return controller.login(username, password);
    }

    // 管理员界面
    private static void adminView(User user) {
        System.out.printf("欢迎管理员[%s]登录学生管理系统%n", user.getUsername());
        System.out.println("1.查询所有学生信息");
        System.out.println("2.添加学生信息");
        System.out.println("3.修改学生信息");
        System.out.println("4.删除学生信息");
        System.out.println("0.退出程序");
        System.out.println("请选择菜单内容:[0,4]");
    }

    // 普通用户界面
    private static void UserView(User user) {
        System.out.printf("欢迎用户[%s]登录学生管理系统%n", user.getUsername());
        System.out.println("1.查询个人信息");
        System.out.println("2.修改个人账号");
        System.out.println("0.退出程序");
        System.out.println("请选择菜单内容:[0,2]");
    }
}
